home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / gnome-1.0 / gtk-xmhtml / toolkit.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-10-20  |  12.6 KB  |  281 lines

  1. #ifndef __TOOLKIT_H__
  2. #define __TOOLKIT_H__
  3.  
  4. #ifdef WITH_GTK
  5.  
  6. #include <gtk/gtk.h>
  7. #include <gdk/gdkx.h>
  8. enum {
  9.     TSTRING_DIRECTION_R_TO_L,
  10.     TSTRING_DIRECTION_L_TO_R
  11. };
  12.  
  13. enum {
  14.     TALIGNMENT_END,
  15.     TALIGNMENT_CENTER,
  16.     TALIGNMENT_BEGINNING
  17. };
  18.  
  19. #define _XFUNCPROTOBEGIN
  20. #define _XFUNCPROTOEND
  21.  
  22. #define TNone        NULL
  23. #define TXImage      GdkImage
  24. #define TIdleKeep    TRUE
  25. #define TIdleRemove  FALSE
  26. #define TNullTimeout 0
  27. #define TIntervalId  int
  28. #define TEvent       GdkEvent
  29. #define TButtonPressedEvent GdkEventButton
  30. #define TButtonReleasedEvent GdkEventButton
  31.  
  32. typedef void *TPointer;
  33.  
  34. #include <X11/Xlib.h>
  35. #include <X11/Intrinsic.h>
  36.  
  37. enum {
  38.     XmAUTOMATIC = 0
  39. };
  40.  
  41. typedef GdkFont     TFontStruct;
  42. typedef GdkCursor   *TCursor;
  43. typedef GdkVisual   TVisual;
  44. typedef GdkImage    TImage;
  45. typedef GdkColormap *TColormap;
  46. typedef GdkPixmap   *TPixmap;
  47. typedef GdkWindow   *TWindow;
  48. typedef GtkWidget   *TAppContext;
  49. typedef GtkWidget   *TWidget;
  50. typedef GdkDrawable *TDrawable;
  51. typedef GdkGC       *TGC;
  52. typedef GList       *TCallbackList;
  53. typedef TWidget     *TWidgetList;
  54. typedef GdkAtom     *TAtom;
  55. typedef GdkColor    TColor;
  56. typedef GdkPoint    TPoint;
  57.  
  58. typedef XVisualInfo TVisualInfo;
  59.  
  60. #define TLineSolid      GDK_LINE_SOLID
  61. #define TLineDoubleDash GDK_LINE_DOUBLE_DASH
  62. #define TCapButt        GDK_CAP_BUTT
  63. #define TJoinBevel      GDK_JOIN_BEVEL
  64. #define TJoinRound      GDK_JOIN_ROUND
  65.  
  66. #define TLSBFirst GDK_LSB_FIRST
  67. #define TMSBFirst GDK_MSB_FIRST
  68. #define XmAnyCallbackStruct gtk_xmhtml_callback_info
  69.  
  70. /* These two functions can be removed when XmHTML is converted to use
  71.  * 16-bit color information.  The corresponding XCCGetPixels() and
  72.  * XCCGetPixelsIncremental() macros below should be changed to use the
  73.  * un-wrapped Gdk functions.
  74.  */
  75.  
  76. extern void wrap_gdk_cc_get_pixels (int              incremental,
  77.                     GdkColorContext *cc,
  78.                     gushort         *reds,
  79.                     gushort         *greens,
  80.                     gushort         *blues,
  81.                     gint             ncolors,
  82.                     gint            *used,
  83.                     gulong          *colors,
  84.                     gint            *nallocated);
  85.  
  86. #define CHECK_CALLBACK(w,f,g) (gtk_signal_handler_pending (GTK_OBJECT (w), gtk_xmhtml_signals [GTK_XMHTML_##g], FALSE))
  87. #define XtCallCallbackList(a,b,c) fprintf (stderr, "Warning callback being invoked\n");
  88. #define TPROTO(f,a,b,c,d) f (a, b)
  89. #define Toolkit_Widget_Parent(w) GTK_WIDGET(w)->parent
  90. #define Toolkit_Is_Realized(w) GTK_WIDGET_REALIZED(w)
  91. #define Toolkit_Widget_Window(x) (x)->window
  92. #define Toolkit_Default_Root_Window(dpy) GDK_ROOT_PARENT()
  93. #define Toolkit_Pointer_Ungrab(display,time) gdk_pointer_ungrab(time)
  94. #define Toolkit_CurrentTime GDK_CURRENT_TIME
  95. #define Toolkit_HTML_Widget(widget,field) GTK_HTML((widget))->(field)
  96. #define Toolkit_Screen_Width(w) gdk_screen_width ()
  97. #define Toolkit_Display(w) GDK_DISPLAY ()
  98. #define Toolkit_Free_Font(dpy,font) gdk_font_unref ((font))
  99. #define Toolkit_Free_Cursor(dpy,cursor) gdk_cursor_destroy ((cursor));
  100.  
  101. #define Toolkit_Widget_Name(w) "SomeWidget"
  102. #define Toolkit_Set_Font(dpy,gc,xfont) gdk_gc_set_font ((gc), (xfont))
  103. #define Toolkit_Set_Foreground(dpy,gc,fg) do{TColor m;m.pixel=(fg);gdk_gc_set_foreground((gc),&m);}while(0)
  104. #define Toolkit_Set_Line_Attributes(dpy,gc,w,line,cap,join) gdk_gc_set_line_attributes((gc),(w),\
  105.                                            (line),(cap),(join))
  106. #define Toolkit_Draw_String(dpy,win,gc,xs,ys,text,len,f) gdk_draw_text((win),(f),(gc),(xs),(ys),(text),(len))
  107. #define Toolkit_Fill_Rectangle(dpy,win,gc,x,y,w,h) gdk_draw_rectangle ((win),(gc),TRUE,(x),(y),(w),(h))
  108. #define Toolkit_Draw_Rectangle(dpy,win,gc,x,y,w,h) gdk_draw_rectangle ((win),(gc),FALSE,(x),(y),(w),(h))
  109. #define Toolkit_Draw_Line(dpy,win,gc,x1,y1,x2,y2) gdk_draw_line ((win),(gc),(x1),(y1),(x2),(y2))
  110. #define Toolkit_Draw_Arc(dpy,win,gc,x,y,w,h,a1,a2) gdk_draw_arc ((win),(gc),FALSE,(x),(y),(w),(h),(a1),(a2))
  111. #define Toolkit_Fill_Arc(dpy,win,gc,x,y,w,h,a1,a2) gdk_draw_arc ((win),(gc),TRUE,(x),(y),(w),(h),(a1),(a2))
  112. #define Toolkit_Draw_Lines(dpy,win,gc,points,npoints,mode) gdk_draw_polygon ((win),(gc),FALSE,(points),(npoints))
  113. #define Toolkit_Text_Width(font,text,len) gdk_text_width (font, text, len)
  114. #define Toolkit_Copy_Area(dpy,src,dst,gc,sx,sy,w,h,dx,dy) \
  115.     gdk_window_copy_area ((dst),(gc),(dx),(dy),(src),(sx),(sy),(w),(h))
  116. #define Toolkit_Create_Pixmap(dpy,win,w,h,d) gdk_pixmap_new((win),(w),(h),(d))
  117. #define Toolkit_Free_Pixmap(d,p) gdk_pixmap_unref (p)
  118. #define Toolkit_Create_Image(d,v,depth,form,off,data,w,h,bp,bpl) my_gdk_image_new((v),(w),(h),(data),(bp),(bpl))
  119. #define Toolkit_Image_Bits_Per_Pixel(i) (((GdkImagePrivate *) i)->ximage->bits_per_pixel)
  120. #define Toolkit_Set_Image_Data(i, d) do {            \
  121.         ((GdkImagePrivate *) i)->ximage->data = d;    \
  122.         i->mem = d;                    \
  123.     } while (0)
  124. #define Toolkit_GC_Free(dpy,gc) gdk_gc_destroy(gc)
  125. #define Toolkit_Widget_Repaint(w) \
  126.     _XmHTMLClearArea((w), 0, 0, GTK_WIDGET(w)->allocation.width, GTK_WIDGET(w)->allocation.height)
  127. #define Toolkit_Flush(d,de) gdk_flush ()
  128. #define Toolkit_Widget_Force_Repaint(w) do { \
  129.     Toolkit_Widget_Repaint(w); \
  130.         gtk_widget_draw (GTK_WIDGET (w), NULL);gdk_flush();}while (0)
  131. #define Toolkit_StyleColor_Background(w)   (GTK_XMHTML(w))->background_pixel
  132. #define Toolkit_StyleColor_Foreground(w)   (GTK_XMHTML(w))->foreground_pixel
  133. #define Toolkit_StyleGC_BottomShadow(w)    (GTK_XMHTML(w))->bottom_shadow_gc
  134. #define Toolkit_StyleGC_TopShadow(w)       (GTK_XMHTML(w))->top_shadow_gc
  135. #define Toolkit_StyleGC_Highlight(w)       (GTK_XMHTML(w))->highlight_gc
  136. #define Toolkit_StyleColor_Highlight(w)    (GTK_XMHTML(w))->highlight_color
  137. #define Toolkit_Widget_Dim(h) (GTK_WIDGET(h)->allocation)
  138. #define Toolkit_Screen_Height(w) gdk_screen_height ()
  139. #define Toolkit_Widget_Is_Realized(w) GTK_WIDGET_REALIZED (w)
  140. #define Toolkit_Clear_Area(d,w,xs,ys,wi,h,b) do {\
  141.         if (b) \
  142.             gdk_window_clear_area_e ((w),(xs),(ys),(wi),(h)); \
  143.                 else \
  144.             gdk_window_clear_area ((w),(xs),(ys),(wi),(h)); \
  145.         } while (0)
  146. #define Toolkit_Widget_Destroy(w) gtk_widget_destroy (w)
  147. #define Toolkit_Widget_Colormap(w) gtk_widget_get_colormap (GTK_WIDGET (w))
  148. #define Toolkit_Parse_Color(dpy,cm,c,d) gdk_color_parse (c, d)
  149. #define Toolkit_Alloc_Color(dpy,cm,c) gdk_color_alloc (cm,c)
  150. #define Toolkit_Get_Visual(w, dest) dest = gtk_widget_get_visual (w)
  151. #define Toolkit_Image_Destroy(i) gdk_image_destroy(i)
  152. #define Toolkit_Get_Image_Data(i) (i->mem)
  153. #define Toolkit_Image_Bytes_Per_Line(i) (i->bpl)
  154. #define Toolkit_Timeout_Remove(t) gtk_timeout_remove(t)
  155. #define Toolkit_Call_Callback(w,c,s,d) \
  156.     gtk_signal_emit (GTK_OBJECT(w), gtk_xmhtml_signals [GTK_XMHTML_##s], d)
  157. #define Toolkit_Undefine_Cursor(d,w) gdk_window_set_cursor ((w), NULL)
  158. #define Toolkit_Define_Cursor(d,w,c) gdk_window_set_cursor ((w),(c))
  159.  
  160. #define XCCCreate(w,v,c)   gdk_color_context_new (v, c)
  161. #define XCCFree(c)         if ((c)) gdk_color_context_free ((c))
  162. #define XCCGetDepth(c)     (c)->visual->depth
  163. #define XCCGetParentVisual(w) gtk_widget_get_visual(w)
  164. #define XCCGetPixels(cc,r,g,b,n,co,a) wrap_gdk_cc_get_pixels (0,cc,r,g,b,n,0,co,a)
  165. #define XCCGetPixelsIncremental(cc,r,g,b,n,u,co,na) wrap_gdk_cc_get_pixels (1,cc,r,g,b,n,u,co,na)
  166. #define XCCAddPalette(c,p,n) gdk_color_context_add_palette (c,p,n)
  167. #define XCCInitDither(cc) gdk_color_context_init_dither (cc)
  168. #define XCCGetIndexFromPalette(cc,r,g,b,f) gdk_color_context_get_index_from_palette(cc,r,g,b,f)
  169. #define XCCFreeDither(cc) gdk_color_context_free_dither (cc)
  170. typedef GdkColorContextDither XCCDither;
  171. #define XmSHADOW_IN       1
  172. #define XmSHADOW_OUT      2
  173.  
  174. #else /* motif */
  175.  
  176. #define TNone        None
  177. #define TPointer     XtPointer
  178. #define TColor       XColor
  179. #define TColormap    Colormap
  180. #define TPixmap      Pixmap
  181. #define TWindow      Window
  182. #define TXImage      XImage
  183. #define TIdleKeep    False
  184. #define TIdleRemove  True
  185. #define TVisual      Visual
  186. #define TNullTimeout None
  187. #define TEvent       XEvent
  188. #define TButtonPressedEvent  XButtonPressedEvent
  189. #define TButtonReleasedEvent XButtonReleasedEvent
  190.  
  191. #define TCallbackList XtCallbackList
  192. #define TIntervalId  XtIntervalId
  193. #define TAppContext  XtAppContext
  194. #define TGC          GC
  195. #define TPoint       XPoint
  196. #define TFontStruct  XFontStruct
  197. #define TWidgetList  WidgetList
  198. #define TSTRING_DIRECTION_R_TO_L XmSTRING_DIRECTION_R_TO_L
  199. #define TSTRING_DIRECTION_L_TO_R XmSTRING_DIRECTION_L_TO_R
  200.  
  201. #define TLineSolid      LineSolid      
  202. #define TLineDoubleDash LineDoubleDash 
  203. #define TCapButt        CapButt        
  204. #define TJoinBevel      JoinBevel      
  205. #define TJoinRound      JoinRound
  206.  
  207. #define TLSBFirst LSBFirst
  208. #define TMSBFirst MSBFirst
  209.  
  210. #define CHECK_CALLBACK(w,f,g) ((w)->html.(f))
  211. #define TPROTO(f,a,b,c,d) f (a, b, c, d)
  212. #define Toolkit_Widget_Parent(w) XtParent(w)
  213. #define Toolkit_Is_Realized(w) XtIsRealized ((Widget) w)
  214. #define Toolkit_Widget_Window(x) XtWindow((x))
  215. #define Toolkit_Default_Root_Window(dpy) DefaultRootWindow(dpy)
  216. #define Toolkit_Pointer_Ungrab(display,time) XUngrabPointer(display,time)
  217. #define Toolkit_CurrentTime CurrentTime
  218. #define Toolkit_HTML_Widget(widget,field) (widget)->html.(field)
  219. #define Toolkit_Screen_Width(w) WidthOfScreen(XtScreen((Widget)w)));
  220. #define Toolkit_Display(w) XtDisplay(w)
  221. #define Toolkit_Free_Font(dpy,font) XFreeFont (dpy, (font))
  222. #define Toolkit_Widget_Name(w) XtName(w)
  223. #define Toolkit_Set_Font(dpy,gc,xfont) XSetFont ((dpy), (gc), (xfont)->fid)
  224. #define Toolkit_Set_Foreground(dpy,gc,fg) XSetForeground((dpy),(gc),(fg))
  225. #define Toolkit_Set_Line_Attributes(dpy,gc,w,line,cap,join) XSetLineAttributes((dpy),(gc),(w),\
  226.                                            (line),(cap),(join))
  227. #define Toolkit_Draw_String(dpy,win,gc,xs,ys,text,len,f) XDrawString((dpy),(win),(gc),(xs),(ys),(text),(len))
  228. #define Toolkit_Fill_Rectangle(dpy,win,gc,x,y,w,h) XFillRectangle ((dpy),(win),(gc),(x),(y),(w),(h))
  229. #define Toolkit_Draw_Rectangle(dpy,win,gc,x,y,w,h) XDrawRectangle ((dpy),(win),(gc),(x),(y),(w),(h))
  230. #define Toolkit_Draw_Line(dpy,win,gc,x1,y1,x2,y2) XDrawLine ((dpy),(win),(gc),(x1),(y1),(x2),(y2))
  231. #define Toolkit_Draw_Arc(dpy,win,gc,x,y,w,h,a1,a2) XDrawArc ((dpy),(win),(gc),(x),(y),(w),(h),(a1),(a2))
  232. #define Toolkit_Fill_Arc(dpy,win,gc,x,y,w,h,a1,a2) XFillArc ((dpy),(win),(gc),(x),(y),(w),(h),(a1),(a2))
  233. #define Toolkit_Draw_Lines(dpy,win,gc,points,npoints,mode) XDrawLines((dpy),(win),(gc),(points),(npoints),(mode))
  234. #define Toolkit_Text_Width(font,text,len) XTextWidth (font, text, len)
  235. #define Toolkit_Copy_Area(dpy,src,dst,gc,sx,sy,w,h,dx,dy) \
  236.      XCopyArea ((dpy),(src),(dst),(gc),(sx),(sy),(w),(h),(dx),(dy))
  237. #define Toolkit_Create_Pixmap(dpy,win,w,h,d) XCreatePixmap((dpy),(win),(w),(h),(d))
  238. #define Toolkit_Free_Pixmap(d,p) XFreePixmap ((d),(p))
  239. #define Toolkit_Create_Image(d,v,depth,form,off,data,w,h,bp,bpl) \
  240.          XCreateImage ((d),(v),(depth),(form),(off),(data),(w),(h),(bp),(bpl))
  241. #define Toolkit_Image_Bits_Per_Pixel(i) (image->bits_per_pixel)
  242. #define Toolkit_Set_Image_Data(i, d) do { i->data = d; } while (0)
  243. #define Toolkit_GC_Free(dpy,gc) XFreeGC((dpy),(gc))
  244. #define Toolkit_Free_Cursor(dpy,cursor) XFreeCursor ((dpy), (cursor))
  245. #define Toolkit_Widget_Repaint(w) _XmHTMLClearArea((w), 0, 0, (w)->core.width, (w)->core.height)
  246. #define Toolkit_Widget_Force_Repaint(w) \
  247.     do { _XmHTMLClearArea((w), 0, 0, (w)->core.width, (w)->core.height); \
  248.     XSync(XtDisplay((TWidget)(w)), True); } while (0)
  249. #define Toolkit_Flush(d,de) XSync (d,de)
  250. #define Toolkit_StyleColor_Background(w)   (w)->core.background_pixel
  251. #define Toolkit_StyleColor_Foreground(w)   (w)->manager.foreground
  252. #define Toolkit_StyleGC_BottomShadow(w)    (w)->manager.bottom_shadow_GC
  253. #define Toolkit_StyleGC_TopShadow(w)       (w)->manager.top_shadow_GC
  254. #define Toolkit_StyleGC_Highlight(w)       (w)->manager.highlight_GC
  255. #define Toolkit_StyleColor_Highlight(w)    (w)->manager.highlight_color
  256. #define Toolkit_Widget_Dim(h) ((h)->core)
  257. #define Toolkit_Screen_Height(w) HeightOfScreen(w)
  258. #define Toolkit_Widget_Is_Realized(w) XtIsRealized (w)
  259. #define Toolkit_Clear_Area(d,wid,xs,ys,w,h,b) XClearArea ((d),(wid),(xs),(ys),(w),(h), b);
  260. #define Toolkit_Widget_Destroy(w) XtDestroyWidget (w)
  261. #define Toolkit_Widget_Colormap(w) (w)->core.colormap
  262. #define Toolkit_Parse_Color(dpy,cm,c,d) XParseColor((dpy),(cm),(c),(d))
  263. #define Toolkit_Alloc_Color(dpy,cm,c) do{(c)->flags=DoRed|DoGreen|DoBlue;XAllocColor (dpy,cm,c)}while (0)
  264. #define Toolkit_Get_Visual(w, dest) XtVaGetValues((w),XmNvisual, &dest, NULL)
  265. #define Toolkit_Image_Destroy(i) XDestroyImage(i)
  266. #define Toolkit_Get_Image_Data(i) (i->data)
  267. #define Toolkit_Image_Bytes_Per_Line(i) (i->bytes_per_line)
  268. #define Toolkit_Timeout_Remove(t) XtRemoveTimeOut(t)
  269. #define Toolkit_Call_Callback(w,c,s,d) XtCallCallbackList ((w),(c),(d))
  270. #define Toolkit_Undefine_Cursor(d,w) XUndefineCursor ((d), (w))
  271. #define Toolkit_Define_Cursor(d,w,c) XDefineCursor ((d), (w),(c))
  272.  
  273. #define    TALIGNMENT_END       XmALIGNMENT_END 
  274. #define TALIGNMENT_CENTER    XmALIGNMENT_CENTER
  275. #define TALIGNMENT_BEGINNING XmALIGNMENT_BEGINNING
  276. #define XCCGetDepth(c) c->visualInfo->depth
  277. #endif
  278.  
  279. #endif
  280.  
  281.